// 描述

// 有n个数字组成一组序列，现在要求删除重复出现的数字，使每个数字x只出现一次，输出删除重复数字后数组的新长度。
// 注意：用vector存储序列。

// 输入描述

// 两行，第一行表示序列中数字个数n（1 < n ≤ 106）。
// 第二行，n个数字，每个数字之间空格分隔（1<x ≤ 1018）。

// 输出描述

// 一行，表示删除重复数字后数组的新长度。

// 样例输入 1 

// 7
// 0 1 3 1 3 6 1234567890
// 样例输出 1 

// 5

#include <bits/stdc++.h>
using namespace std;
vector <long long> v;

int main(){
    int n;
    cin >> n;
    long long x;
    for(int i = 0; i < n; i++){
        cin >> x;
        v.push_back(x);
    }
    sort(v.begin(),v.end());
    int ans = 1;
    for(int i = 0; i <=v.size()-2; i++){
        if(v[i] != v[i - 1]) 
        ans++;
    }
    cout << ans << endl;
    return 0;
}

